package com.iflytek.ci.cpms.service;

import com.iflytek.ci.cpms.domain.Milestone;
import com.iflytek.ci.cpms.domain.Project;

/**
 * <p>
 * 里程碑自动构建服务
 * </p>
 * 
 * @author mdzhang
 */
public interface MilestoneReprterService {

	/**
	 * 设置构建号，需要与RDM相匹配
	 * 
	 * @return 构建号
	 */
	String setBuildNote(Milestone milestone, Project project);

	/**
	 * 删除Tag，提交buildnote给RDM失败时执行
	 * 
	 * @param build_note
	 */
	void delete_tag(Milestone milestone, Project project, String build_note);

	/**
	 * 拷贝构建的war包到本地文件保存
	 */
	void copyWar(Milestone milestone, Project project);

	/**
	 * 构建功能整合，包括：编译，构建，删除代码
	 * 
	 * @return changelog内容
	 */
	String build(String releaseVersion, Milestone milestone, Project project);

	/**
	 * 迁出代码到本地临时文件
	 */
	long svn_co_code(Milestone milestone, Project project);
}
